package com.raycloud.robot.domain.dto;

import java.util.Date;

public class Attr{
    private Long id;
    private String attrValue;
    private String attrDesc;
    private Integer attrType;
    private String attrTypeName;
    private String projectId;
    private Date createTime;
    private Date modifyTime;
    public Long getId(){
        return this.id;
    }
    public String getAttrValue(){
        return this.attrValue;
    }
    public String getAttrDesc(){
        return this.attrDesc;
    }
    public Integer getAttrType(){
        return this.attrType;
    }
    public String getAttrTypeName(){
        return this.attrTypeName;
    }
    public String getProjectId(){
        return this.projectId;
    }
    public Date getCreateTime(){
        return this.createTime;
    }
    public Date getModifyTime(){
        return this.modifyTime;
    }
    public void setId(final Long id){
        this.id=id;
    }
    public void setAttrValue(final String attrValue){
        this.attrValue=attrValue;
    }
    public void setAttrDesc(final String attrDesc){
        this.attrDesc=attrDesc;
    }
    public void setAttrType(final Integer attrType){
        this.attrType=attrType;
    }
    public void setAttrTypeName(final String attrTypeName){
        this.attrTypeName=attrTypeName;
    }
    public void setProjectId(final String projectId){
        this.projectId=projectId;
    }
    public void setCreateTime(final Date createTime){
        this.createTime=createTime;
    }
    public void setModifyTime(final Date modifyTime){
        this.modifyTime=modifyTime;
    }
    @Override
    public boolean equals(final Object o){
        if(o==this){
            return true;
        }
        if(!(o instanceof Attr)){
            return false;
        }
        final Attr other=(Attr)o;
        if(!other.canEqual(this)){
            return false;
        }
        final Object this$id=this.getId();
        final Object other$id=other.getId();
        Label_0065:{
            if(this$id==null){
                if(other$id==null){
                    break Label_0065;
                }
            }
            else if(this$id.equals(other$id)){
                break Label_0065;
            }
            return false;
        }
        final Object this$attrValue=this.getAttrValue();
        final Object other$attrValue=other.getAttrValue();
        Label_0102:{
            if(this$attrValue==null){
                if(other$attrValue==null){
                    break Label_0102;
                }
            }
            else if(this$attrValue.equals(other$attrValue)){
                break Label_0102;
            }
            return false;
        }
        final Object this$attrDesc=this.getAttrDesc();
        final Object other$attrDesc=other.getAttrDesc();
        Label_0139:{
            if(this$attrDesc==null){
                if(other$attrDesc==null){
                    break Label_0139;
                }
            }
            else if(this$attrDesc.equals(other$attrDesc)){
                break Label_0139;
            }
            return false;
        }
        final Object this$attrType=this.getAttrType();
        final Object other$attrType=other.getAttrType();
        Label_0176:{
            if(this$attrType==null){
                if(other$attrType==null){
                    break Label_0176;
                }
            }
            else if(this$attrType.equals(other$attrType)){
                break Label_0176;
            }
            return false;
        }
        final Object this$attrTypeName=this.getAttrTypeName();
        final Object other$attrTypeName=other.getAttrTypeName();
        Label_0213:{
            if(this$attrTypeName==null){
                if(other$attrTypeName==null){
                    break Label_0213;
                }
            }
            else if(this$attrTypeName.equals(other$attrTypeName)){
                break Label_0213;
            }
            return false;
        }
        final Object this$projectId=this.getProjectId();
        final Object other$projectId=other.getProjectId();
        Label_0250:{
            if(this$projectId==null){
                if(other$projectId==null){
                    break Label_0250;
                }
            }
            else if(this$projectId.equals(other$projectId)){
                break Label_0250;
            }
            return false;
        }
        final Object this$createTime=this.getCreateTime();
        final Object other$createTime=other.getCreateTime();
        Label_0287:{
            if(this$createTime==null){
                if(other$createTime==null){
                    break Label_0287;
                }
            }
            else if(this$createTime.equals(other$createTime)){
                break Label_0287;
            }
            return false;
        }
        final Object this$modifyTime=this.getModifyTime();
        final Object other$modifyTime=other.getModifyTime();
        if(this$modifyTime==null){
            if(other$modifyTime==null){
                return true;
            }
        }
        else if(this$modifyTime.equals(other$modifyTime)){
            return true;
        }
        return false;
    }
    protected boolean canEqual(final Object other){
        return other instanceof Attr;
    }
    @Override
    public int hashCode(){
        final int PRIME=59;
        int result=1;
        final Object $id=this.getId();
        result=result*59+(($id==null)?43:$id.hashCode());
        final Object $attrValue=this.getAttrValue();
        result=result*59+(($attrValue==null)?43:$attrValue.hashCode());
        final Object $attrDesc=this.getAttrDesc();
        result=result*59+(($attrDesc==null)?43:$attrDesc.hashCode());
        final Object $attrType=this.getAttrType();
        result=result*59+(($attrType==null)?43:$attrType.hashCode());
        final Object $attrTypeName=this.getAttrTypeName();
        result=result*59+(($attrTypeName==null)?43:$attrTypeName.hashCode());
        final Object $projectId=this.getProjectId();
        result=result*59+(($projectId==null)?43:$projectId.hashCode());
        final Object $createTime=this.getCreateTime();
        result=result*59+(($createTime==null)?43:$createTime.hashCode());
        final Object $modifyTime=this.getModifyTime();
        result=result*59+(($modifyTime==null)?43:$modifyTime.hashCode());
        return result;
    }
    @Override
    public String toString(){
        return "Attr(id="+this.getId()+", attrValue="+this.getAttrValue()+", attrDesc="+this.getAttrDesc()+", attrType="+this.getAttrType()+", attrTypeName="+this.getAttrTypeName()+", projectId="+this.getProjectId()+", createTime="+this.getCreateTime()+", modifyTime="+this.getModifyTime()+")";
    }
}
